/**
*  \file grits.h
*
*  \brief
*
*  \author   <@linde-mh.de>
*
*
*/

#ifndef GRITS_H_INCLUDED
#define GRITS_H_INCLUDED

/*================================================[ public includes  ]================================================*/
#include "../cfg/prj.h"
#include "../tasklet/tasklet.h"
/*================================================[ public defines   ]================================================*/

/*================================================[ public datatypes ]================================================*/

struct grits_time_slice
{
	struct tasklet_list list;
    struct tasklet *cursor;
	U32 interval;
	U32 next_run_time;
};



/*================================================[ public variables ]================================================*/

/*================================================[ public functions ]================================================*/
extern void grits_process_time( struct grits_time_slice *sched, U32 size, U32 ticks );
extern RC grits_initialize( struct grits_time_slice *sched, U32 size, U32 ticks  );

/*====================================================================================================================*/

#endif

/***********************************************************************************************************************
*                             Copyright 2015 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
